package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.MoBankLimit;

import java.util.*;
public class MoBankLimitExample extends SgExample<MoBankLimitExample.Criteria> {
    public static final Class<MoBankLimit> beanClass = MoBankLimit.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn timeLimit;
    public static EntityColumn dayLimit;
    public static EntityColumn monthLimit;
    public static EntityColumn lastModifyTime;
    public static EntityColumn limitId;
    public static EntityColumn bankName;
    public static EntityColumn passageId;
    public static EntityColumn enabled;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        timeLimit = listMap.get("timeLimit");
        dayLimit = listMap.get("dayLimit");
        monthLimit = listMap.get("monthLimit");
        lastModifyTime = listMap.get("lastModifyTime");
        limitId = listMap.get("limitId");
        bankName = listMap.get("bankName");
        passageId = listMap.get("passageId");
        enabled = listMap.get("enabled");
        }

    public MoBankLimitExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected MoBankLimitExample.Criteria createCriteriaInternal() {
        return new MoBankLimitExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public MoBankLimitExample.Criteria andTimeLimitIsNull() {
            return isNull(timeLimit);
        }

        public MoBankLimitExample.Criteria andTimeLimitIsNotNull() {
            return isNotNull(timeLimit);
        }

        public MoBankLimitExample.Criteria andTimeLimitEqualTo(String value) {
            return equalTo(timeLimit, value);
        }

        public MoBankLimitExample.Criteria andTimeLimitNotEqualTo(String value) {
            return notEqualTo(timeLimit, value);
        }

        public MoBankLimitExample.Criteria andTimeLimitGreaterThan(String value) {
            return greaterThan(timeLimit, value);
        }

        public MoBankLimitExample.Criteria andTimeLimitGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(timeLimit, value);
        }

        public MoBankLimitExample.Criteria andTimeLimitLessThan(String value) {
            return lessThan(timeLimit, value);
        }

        public MoBankLimitExample.Criteria andTimeLimitLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(timeLimit, value);
        }

        public MoBankLimitExample.Criteria andTimeLimitLike(String value) {
            return like(timeLimit, value);
        }

        public MoBankLimitExample.Criteria andTimeLimitNotLike(String value) {
            return notLike(timeLimit, value);
        }

        public MoBankLimitExample.Criteria andTimeLimitIn(List<String> values) {
            return in(timeLimit, values);
        }

        public MoBankLimitExample.Criteria andTimeLimitNotIn(List<String> values) {
            return notIn(timeLimit, values);
        }

        public MoBankLimitExample.Criteria andTimeLimitBetween(String value1, String value2) {
            return between(timeLimit, value1, value2);
        }

        public MoBankLimitExample.Criteria andTimeLimitNotBetween(String value1, String value2) {
            return notBetween(timeLimit, value1, value2);
        }
        public MoBankLimitExample.Criteria andDayLimitIsNull() {
            return isNull(dayLimit);
        }

        public MoBankLimitExample.Criteria andDayLimitIsNotNull() {
            return isNotNull(dayLimit);
        }

        public MoBankLimitExample.Criteria andDayLimitEqualTo(String value) {
            return equalTo(dayLimit, value);
        }

        public MoBankLimitExample.Criteria andDayLimitNotEqualTo(String value) {
            return notEqualTo(dayLimit, value);
        }

        public MoBankLimitExample.Criteria andDayLimitGreaterThan(String value) {
            return greaterThan(dayLimit, value);
        }

        public MoBankLimitExample.Criteria andDayLimitGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(dayLimit, value);
        }

        public MoBankLimitExample.Criteria andDayLimitLessThan(String value) {
            return lessThan(dayLimit, value);
        }

        public MoBankLimitExample.Criteria andDayLimitLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(dayLimit, value);
        }

        public MoBankLimitExample.Criteria andDayLimitLike(String value) {
            return like(dayLimit, value);
        }

        public MoBankLimitExample.Criteria andDayLimitNotLike(String value) {
            return notLike(dayLimit, value);
        }

        public MoBankLimitExample.Criteria andDayLimitIn(List<String> values) {
            return in(dayLimit, values);
        }

        public MoBankLimitExample.Criteria andDayLimitNotIn(List<String> values) {
            return notIn(dayLimit, values);
        }

        public MoBankLimitExample.Criteria andDayLimitBetween(String value1, String value2) {
            return between(dayLimit, value1, value2);
        }

        public MoBankLimitExample.Criteria andDayLimitNotBetween(String value1, String value2) {
            return notBetween(dayLimit, value1, value2);
        }
        public MoBankLimitExample.Criteria andMonthLimitIsNull() {
            return isNull(monthLimit);
        }

        public MoBankLimitExample.Criteria andMonthLimitIsNotNull() {
            return isNotNull(monthLimit);
        }

        public MoBankLimitExample.Criteria andMonthLimitEqualTo(String value) {
            return equalTo(monthLimit, value);
        }

        public MoBankLimitExample.Criteria andMonthLimitNotEqualTo(String value) {
            return notEqualTo(monthLimit, value);
        }

        public MoBankLimitExample.Criteria andMonthLimitGreaterThan(String value) {
            return greaterThan(monthLimit, value);
        }

        public MoBankLimitExample.Criteria andMonthLimitGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(monthLimit, value);
        }

        public MoBankLimitExample.Criteria andMonthLimitLessThan(String value) {
            return lessThan(monthLimit, value);
        }

        public MoBankLimitExample.Criteria andMonthLimitLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(monthLimit, value);
        }

        public MoBankLimitExample.Criteria andMonthLimitLike(String value) {
            return like(monthLimit, value);
        }

        public MoBankLimitExample.Criteria andMonthLimitNotLike(String value) {
            return notLike(monthLimit, value);
        }

        public MoBankLimitExample.Criteria andMonthLimitIn(List<String> values) {
            return in(monthLimit, values);
        }

        public MoBankLimitExample.Criteria andMonthLimitNotIn(List<String> values) {
            return notIn(monthLimit, values);
        }

        public MoBankLimitExample.Criteria andMonthLimitBetween(String value1, String value2) {
            return between(monthLimit, value1, value2);
        }

        public MoBankLimitExample.Criteria andMonthLimitNotBetween(String value1, String value2) {
            return notBetween(monthLimit, value1, value2);
        }
        public MoBankLimitExample.Criteria andLastModifyTimeIsNull() {
            return isNull(lastModifyTime);
        }

        public MoBankLimitExample.Criteria andLastModifyTimeIsNotNull() {
            return isNotNull(lastModifyTime);
        }

        public MoBankLimitExample.Criteria andLastModifyTimeEqualTo(Date value) {
            return equalTo(lastModifyTime, value);
        }

        public MoBankLimitExample.Criteria andLastModifyTimeNotEqualTo(Date value) {
            return notEqualTo(lastModifyTime, value);
        }

        public MoBankLimitExample.Criteria andLastModifyTimeGreaterThan(Date value) {
            return greaterThan(lastModifyTime, value);
        }

        public MoBankLimitExample.Criteria andLastModifyTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(lastModifyTime, value);
        }

        public MoBankLimitExample.Criteria andLastModifyTimeLessThan(Date value) {
            return lessThan(lastModifyTime, value);
        }

        public MoBankLimitExample.Criteria andLastModifyTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(lastModifyTime, value);
        }

        public MoBankLimitExample.Criteria andLastModifyTimeIn(List<Date> values) {
            return in(lastModifyTime, values);
        }

        public MoBankLimitExample.Criteria andLastModifyTimeNotIn(List<Date> values) {
            return notIn(lastModifyTime, values);
        }

        public MoBankLimitExample.Criteria andLastModifyTimeBetween(Date value1, Date value2) {
            return between(lastModifyTime, value1, value2);
        }

        public MoBankLimitExample.Criteria andLastModifyTimeNotBetween(Date value1, Date value2) {
            return notBetween(lastModifyTime, value1, value2);
        }
        public MoBankLimitExample.Criteria andLimitIdIsNull() {
            return isNull(limitId);
        }

        public MoBankLimitExample.Criteria andLimitIdIsNotNull() {
            return isNotNull(limitId);
        }

        public MoBankLimitExample.Criteria andLimitIdEqualTo(Long value) {
            return equalTo(limitId, value);
        }

        public MoBankLimitExample.Criteria andLimitIdNotEqualTo(Long value) {
            return notEqualTo(limitId, value);
        }

        public MoBankLimitExample.Criteria andLimitIdGreaterThan(Long value) {
            return greaterThan(limitId, value);
        }

        public MoBankLimitExample.Criteria andLimitIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(limitId, value);
        }

        public MoBankLimitExample.Criteria andLimitIdLessThan(Long value) {
            return lessThan(limitId, value);
        }

        public MoBankLimitExample.Criteria andLimitIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(limitId, value);
        }

        public MoBankLimitExample.Criteria andLimitIdIn(List<Long> values) {
            return in(limitId, values);
        }

        public MoBankLimitExample.Criteria andLimitIdNotIn(List<Long> values) {
            return notIn(limitId, values);
        }

        public MoBankLimitExample.Criteria andLimitIdBetween(Long value1, Long value2) {
            return between(limitId, value1, value2);
        }

        public MoBankLimitExample.Criteria andLimitIdNotBetween(Long value1, Long value2) {
            return notBetween(limitId, value1, value2);
        }
        public MoBankLimitExample.Criteria andBankNameIsNull() {
            return isNull(bankName);
        }

        public MoBankLimitExample.Criteria andBankNameIsNotNull() {
            return isNotNull(bankName);
        }

        public MoBankLimitExample.Criteria andBankNameEqualTo(String value) {
            return equalTo(bankName, value);
        }

        public MoBankLimitExample.Criteria andBankNameNotEqualTo(String value) {
            return notEqualTo(bankName, value);
        }

        public MoBankLimitExample.Criteria andBankNameGreaterThan(String value) {
            return greaterThan(bankName, value);
        }

        public MoBankLimitExample.Criteria andBankNameGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(bankName, value);
        }

        public MoBankLimitExample.Criteria andBankNameLessThan(String value) {
            return lessThan(bankName, value);
        }

        public MoBankLimitExample.Criteria andBankNameLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(bankName, value);
        }

        public MoBankLimitExample.Criteria andBankNameLike(String value) {
            return like(bankName, value);
        }

        public MoBankLimitExample.Criteria andBankNameNotLike(String value) {
            return notLike(bankName, value);
        }

        public MoBankLimitExample.Criteria andBankNameIn(List<String> values) {
            return in(bankName, values);
        }

        public MoBankLimitExample.Criteria andBankNameNotIn(List<String> values) {
            return notIn(bankName, values);
        }

        public MoBankLimitExample.Criteria andBankNameBetween(String value1, String value2) {
            return between(bankName, value1, value2);
        }

        public MoBankLimitExample.Criteria andBankNameNotBetween(String value1, String value2) {
            return notBetween(bankName, value1, value2);
        }
        public MoBankLimitExample.Criteria andPassageIdIsNull() {
            return isNull(passageId);
        }

        public MoBankLimitExample.Criteria andPassageIdIsNotNull() {
            return isNotNull(passageId);
        }

        public MoBankLimitExample.Criteria andPassageIdEqualTo(Long value) {
            return equalTo(passageId, value);
        }

        public MoBankLimitExample.Criteria andPassageIdNotEqualTo(Long value) {
            return notEqualTo(passageId, value);
        }

        public MoBankLimitExample.Criteria andPassageIdGreaterThan(Long value) {
            return greaterThan(passageId, value);
        }

        public MoBankLimitExample.Criteria andPassageIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(passageId, value);
        }

        public MoBankLimitExample.Criteria andPassageIdLessThan(Long value) {
            return lessThan(passageId, value);
        }

        public MoBankLimitExample.Criteria andPassageIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(passageId, value);
        }

        public MoBankLimitExample.Criteria andPassageIdIn(List<Long> values) {
            return in(passageId, values);
        }

        public MoBankLimitExample.Criteria andPassageIdNotIn(List<Long> values) {
            return notIn(passageId, values);
        }

        public MoBankLimitExample.Criteria andPassageIdBetween(Long value1, Long value2) {
            return between(passageId, value1, value2);
        }

        public MoBankLimitExample.Criteria andPassageIdNotBetween(Long value1, Long value2) {
            return notBetween(passageId, value1, value2);
        }
        public MoBankLimitExample.Criteria andEnabledIsNull() {
            return isNull(enabled);
        }

        public MoBankLimitExample.Criteria andEnabledIsNotNull() {
            return isNotNull(enabled);
        }

        public MoBankLimitExample.Criteria andEnabledEqualTo(Boolean value) {
            return equalTo(enabled, value);
        }

        public MoBankLimitExample.Criteria andEnabledNotEqualTo(Boolean value) {
            return notEqualTo(enabled, value);
        }

        public MoBankLimitExample.Criteria andEnabledGreaterThan(Boolean value) {
            return greaterThan(enabled, value);
        }

        public MoBankLimitExample.Criteria andEnabledGreaterThanOrEqualTo(Boolean value) {
            return greaterThanOrEqualTo(enabled, value);
        }

        public MoBankLimitExample.Criteria andEnabledLessThan(Boolean value) {
            return lessThan(enabled, value);
        }

        public MoBankLimitExample.Criteria andEnabledLessThanOrEqualTo(Boolean value) {
            return lessThanOrEqualTo(enabled, value);
        }

        public MoBankLimitExample.Criteria andEnabledIn(List<Boolean> values) {
            return in(enabled, values);
        }

        public MoBankLimitExample.Criteria andEnabledNotIn(List<Boolean> values) {
            return notIn(enabled, values);
        }

        public MoBankLimitExample.Criteria andEnabledBetween(Boolean value1, Boolean value2) {
            return between(enabled, value1, value2);
        }

        public MoBankLimitExample.Criteria andEnabledNotBetween(Boolean value1, Boolean value2) {
            return notBetween(enabled, value1, value2);
        }
    }
}